package com.cmc.cloud.cmclink.doc.vo.blnofreightvo;

import javax.validation.constraints.NotBlank;

import org.hibernate.validator.constraints.Length;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @Description: 多式联运海运费查询VO
 * @Author: dev89
 * @Date: 2025/11/3 10:03
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class MultiBlnoFreightReqVO {

    @Schema(description = "中转港")
    @NotBlank(message = "{MultiBlnoFreightReqVO.tsPort.notBlank}")
    @Length(max = 5, message = "{MultiBlnoFreightReqVO.tsPort.length}")
    private String tsPort;

    @Schema(description = "海船船名")
    @Length(max = 50, message = "{MultiBlnoFreightReqVO.bkgVesselCode.length}")
    private String bkgVesselCode;

    @Schema(description = "海船航次")
    @Length(max = 50, message = "{MultiBlnoFreightReqVO.bkgVoyage.length}")
    private String bkgVoyage;

    @Schema(description = "提单号")
    @Length(max = 50, message = "{MultiBlnoFreightReqVO.blNo.length}")
    private String blNo;

    @Schema(description = "舱位代码")
    @Length(max = 50, message = "{MultiBlnoFreightReqVO.spaceOwner.length}")
    private String spaceOwner;

    @Schema(description = "订舱人代码")
    @Length(max = 50, message = "{MultiBlnoFreightReqVO.bkpCode.length}")
    private String bkpCode;

    @Schema(description = "协议号")
    @Length(max = 50, message = "{MultiBlnoFreightReqVO.agreementNo.length}")
    private String agreementNo;

    @Schema(description = "代理")
    @Length(max = 50, message = "{MultiBlnoFreightReqVO.topAgentCode.length}")
    private String topAgentCode;

}
